package com.foton.springbootdemo.event;


import cn.hutool.core.util.RandomUtil;
import lombok.Getter;
import lombok.Setter;
import org.springframework.context.ApplicationEvent;

import java.time.LocalDateTime;

/**
 * .
 * <p>
 * 北京云锦汇智信息技术有限公司 版权所有Copyright (C) 2022
 * </p>
 * <p>
 * 简介说明: 定义领域事件模版
 *
 * @author 任璞
 * @since 2025/11/20 11:24
 */

@Setter
@Getter
public abstract class DomainEvent extends ApplicationEvent {

    /**
     * 事件唯一ID
     */
    private String eventId;

    /**
     * 事件发生时间点
     */
    private LocalDateTime dateTime;

    public DomainEvent(Object source) {
        super(source);
    this.dateTime=LocalDateTime.now();
    this.eventId= RandomUtil.randomNumbers(10);
    }


}
